package com.atguigu.school.service;

import com.atguigu.school.commons.Page;
import com.atguigu.school.pojo.Admin;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 处理管理员相关业务
 *
 * @author 刘逸晖
 */
public interface AdminService {

    /**
     * 新增或更新管理员
     * 没有提供 id 就是新增，否则就是更新
     *
     * @param admin 管理员信息
     */
    void saveOrUpdateAdmin(Admin admin);

    /**
     * 批量删除管理员
     *
     * @param ids 预删除管理员的 id 列表
     */
    void deleteAdminsByIds(List<Integer> ids);

    /**
     * 根据名称分页查询管理员
     *
     * @param name    管理员的名称，可以不完整，可为空
     * @param current 当前页，从 1 开始
     * @param size    个数
     * @return 管理员列表
     */
    Page<Admin> selectAdminsByName(String name, Integer current, Integer size);

}
